home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat5 / datapipe.z / datapipe
Encoding:
Text File  |  2002-10-03  |  2.8 KB  |  67 lines

  1.  
  2.  
  3.  
  4. ddddaaaattttaaaappppiiiippppeeee((((5555))))                                                        ddddaaaattttaaaappppiiiippppeeee((((5555))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      datapipe - peer-to-peer data transfer between hardware devices.
  10.  
  11. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  12.      Data pipes are dynamic connections between two hardware devices that
  13.      support peer-to-peer data transfers. These connections are created by an
  14.      application to process a data stream from a source device to a sink
  15.      device.  The purpose is to have minimum system impact during I/O
  16.      operations.
  17.  
  18.      Data is moved in sized quanta from source to sink. Each transfer of a
  19.      quantum of data is assumed to be atomic with respect to both drivers and
  20.      application APIs. When data is moved at the hardware level, addresses are
  21.      provided and data is either read or written. If a device can provide
  22.      addresses, it is called a bus master; if a device can accept addresses,
  23.      it is called a bus slave. A bus slave stores data in the write case or
  24.      provides data in the read case. A device can be both a bus master or a
  25.      bus slave. Host memory is a most common case of a bus slave.
  26.  
  27.      Each device has a number of common attributes that are used by the data
  28.      pipe driver to decide whether a data pipe can be created between the two
  29.      devices. If so, each driver (the data pipe driver, and the two pipe ends)
  30.      will create an event queue for the pipe. Once the pipe is created, all
  31.      key interactions with the data pipe are done by posting events to the
  32.      event queue. Pipe events are the primary means for the setup and
  33.      management of data pipes. Each driver within a data pipe can post an
  34.      event into the other drivers' event queue. The application also can post
  35.      events to a particular queue via ddddppppiiiippppeeeePPPPoooossssttttEEEEvvvveeeennnntttt((((3333xxxx)))).... When an application
  36.      posts an event, it must specify which queue the event is posted to. Not
  37.      every event can be posted to all queues.
  38.  
  39.      A set of base events must be supported by each involved device.
  40.      Individual devices can have their own expanded set of events. The data
  41.      structure of the base events are in <_s_y_s/_d_a_t_a_p_i_p_e__e_v_e_n_t_s._h>.
  42.  
  43.      Once a data pipe is created, we can make bandwidth allocation through
  44.      priority I/O mechanism on the data pipe file descriptor (prio(5)).
  45.  
  46. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  47.      datapipe(3X), prio(5), prio(3X)
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.